package com.itheima.反射.Constructor.demo2;

import java.lang.reflect.Constructor;

public class ReflectDemo {
    public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException {
        //通过反射获取class对象
        System.out.println("===getConstructors() 获取所有公共构造方法=========================================================");
        Class<?> clazz = Class.forName("com.itheima.反射.Constructor.demo1.Student");
        Constructor<?>[] constructors = clazz.getConstructors();
        for (Constructor<?> constructor : constructors) {
            System.out.println(constructor);
        }
        System.out.println("===getDeclaredConstructors() 获取所有构造方法=========================================================");
        Constructor<?>[] declaredConstructors = clazz.getDeclaredConstructors();
        for (Constructor<?> declaredConstructor : declaredConstructors) {
            System.out.println(declaredConstructor);
        }
        System.out.println("===getConstructor() 获取指定公共构造方法=========================================================");
        Constructor<?> constructor = clazz.getConstructor();
        System.out.println(constructor);

        System.out.println("===getConstructor() 获取指定构造方法=========================================================");
        Constructor<?> declaredConstructor = clazz.getDeclaredConstructor(int.class);
        System.out.println(declaredConstructor);

    }
}
